package com.dc.service;


import com.dc.po.Blog;
import com.dc.vo.BlogQuery;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import java.util.List;
import java.util.Map;
public interface BlogService {

    Blog getBlog(Long id);

    //得到博客content为html格式的blog  博客详情页用
    Blog getAndConvertBlog(Long id);

    /*根据title type recommend查询章集合*/
    Page<Blog> listBlog(Pageable pageable, BlogQuery blog);

    /*普通分页查询*/
    Page<Blog> listBlog(Pageable pageable);

    /*根据标签id查询文章集合*/
    Page<Blog> listBlog(Long tagId,Pageable pageable);

    /*根据title content查询文章集合*/
    Page<Blog> listBlog(String query,Pageable pageable);

    //推荐博客Top？列表
    List<Blog> listRecommendBlogTop(Integer size);

    //归档列表 String：year ，List<Blog>：博客列表
    Map<String,List<Blog>> archiveBlog();

    Long countBlog();

    //保存或修改 根据博客id是否为空判断
    Blog saveBlog(Blog blog);

    Blog updateBlog(Long id,Blog blog);

    void deleteBlog(Long id);
}
